package com.myblog.services;

import com.baomidou.mybatisplus.extension.service.IService;
import com.myblog.domain.GlobalResponse;
import com.myblog.domain.Vo.ArticleDetailVo;
import com.myblog.domain.Vo.ArticleVo;
import com.myblog.domain.Vo.HotArticleVo;
import com.myblog.domain.Vo.PageVo;
import com.myblog.domain.dto.AddArticleDto;
import com.myblog.domain.entity.Article;
import com.myblog.domain.entity.ArticleTag;

import java.util.List;

public interface ArticleService extends IService<Article> {
    GlobalResponse<List<HotArticleVo>> getHotArticleList();

    GlobalResponse<PageVo> getArticleList(Integer pageNumber, Integer pageSize, Long id);


    GlobalResponse<ArticleDetailVo> getArticle(Long id);

    GlobalResponse<?> updateViewCount(Long id);

    GlobalResponse<?> newArticle(AddArticleDto article);

    GlobalResponse<List<ArticleVo>> getArticleList(Integer pageNumber, Integer pageSize, String title, String summary);

    GlobalResponse<List<ArticleTag>> AdminGetArticle(Long id);

    GlobalResponse<?> updateArticle(AddArticleDto articleDto);


}
